Skip to main content

Alias

Ein Datentyp-Alias ist die Deklaration eines benutzerdefinierten Datentyps, mit dem ein alternativer Name für einen Basistyp, Datentyp oder Funktionsbaustein erzeugt wird.

Die Typdeklaration eines Alias nehmen Sie in einem DUT-Objekt vor, das Sie über das Menü ProjektObjekt hinzufügenDUT oder über das Kontextmenü einer Applikation anlegen.

Für weitere Informationen siehe: DUT

Syntax

TYPE <identifier> : <data type name> ;

END_TYPE

Tabelle 21. Erlaubte Typen

<data type name>

  • Basisdatentyp

  • Datentyp mit Größenangabe

  • Funktionsbaustein



Beispiel 234. Beispiel

Alias-Datentyp für Variablen des Typs STRING oder ARRAY, wenn diese eine bestimmte Länge benötigen

Deklaration

TYPE FRAME : ARRAY[0..1499] OF BYTE; END_TYPE
TYPE SYMBOL : STRING(512); END_TYPE

Aufruf

PROGRAM PLC_PRG
VAR
	frameF : FRAME;
	symbolS : SYMBOL;
END_VAR


Beispiel 235. Beispiel

Alias-Datentyp für Variablen, die einen anderen Startwert benötigen als der, der vom Compiler vorgesehen ist

TYPE INDEX : DINT := -1; END_TYPE


Beispiel 236. Beispiel

Alias-Datentyp für Variablen eines bestimmten Typs, die nur einen bestimmten Unterbereich von Werten des ursprünglichen Typs aufnehmen sollen

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
	c_diMaxRune : DINT := DINT#16#0010FFFF;
END_VAR
TYPE RUNE : DINT(0..GVL.c_diMaxRune); END_TYPE


Beispiel 237. Beispiel

Alias-Datentyp für Typen aus einem anderen Namensraum

Beispielsweise für Typen aus einer unterlagerten Bibliothek, die im aktuellen Namensraum zur Verfügung stehen sollen.

TYPE ENCODING: SBB.ENCODING; END_TYPE (*ENUM*)
TYPE RUNE : UTF8.RUNE;  END_TYPE (*SUBTYPE*)
TYPE INFO : STR.IFNFO;  END_TYPE (*STRUCT*)
TYPE IBuilder : SBB.IBuilder; END_TYPE (*INTERFACE*)
TYPE Tange: SBB.Range; END_TYPE (*FUNCTION_BLOCK*)

Tipp

Damit kann in vielen Fällen auf eine Container-Bibliothek verzichtet werden, weil alle Typen von unterlagerten Bibliotheken auf diese Weise Teil der eigenen Bibliothek werden.